import { defineStore } from 'pinia'
import request from '@/utils/request'
import { ApiRes, CategoryItem, TopCategory } from '@/types/data'

import { topCategory } from '@/constants'
const defaultCategory = topCategory.map((item) => {
  return {
    name: item
  }
})

export default defineStore('category', {
  state: () => ({
    list: defaultCategory as CategoryItem[],
    topCategory: {} as TopCategory
  }),
  actions: {
    async getAllCategory () {
      const res = await request.get<ApiRes<CategoryItem[]>>('/home/category/head')
      this.list = res.data.result
    },
    async getTopCategory (id: string) {
      const res = await request.get<ApiRes<TopCategory>>('/category', {
        params: {
          id
        }
      })
      this.topCategory = res.data.result
    }
  }
})
